In a typical data communication system, packets containing a variety of data types are transmitted between different nodes of a network, typically in a client-server manner. The packets are transmitted in a stream from a source node to a destination node. The nodes are interconnected via physical connections that conform to a link layer protocol such as HDLC, ATM, and frame relay, for example. These connections may include wireless links, which transmit packets using a radio frequency (RF) medium.
The transport layer, however, is typically indifferent to the link layer protocols and whether the link layer is a wireless or wired link. However, wired and wireless links usually exhibit different performance characteristics. For example, wireless links typically exhibit higher error rates, longer latency times, and limited throughput depending on the number of users supported. Many transport layer protocols, however, were developed according to wired link performance expectations, and do not lend themselves to efficient implementation over wireless links. Therefore, connections that include a wireless link may suffer from performance degradation since the transport layer protocols, such as TCP, UDP, and RSTP, are not sensitive to specific performance and behavior characteristics of wireless links.
The transport layer protocols are implemented to prevent inaccuracies in the data such as packet loss and transmission errors in the packet. However, certain applications employ data types that are more loss-tolerant and do not need to assure absolute accuracy in the received data stream. For example, data types such as streaming audio and video can tolerate lost packets and bit errors without substantially compromising the output perceived by a user. On the other hand, data types such as an executable file would likely result in unpredictable results if even one bit is inaccurately received.
It would be beneficial, therefore, to provide a system and method to determine the application and performance metrics corresponding to a connection, and modify related link control parameters of the wireless link according to a corresponding flow model. The link control parameters may adjust the physical layer characteristics, such as bandwidth, coding levels, and the like, to tolerate packet loss when appropriate. This increases the overall perceived throughput over the wireless link.